package com.itheima.test4_2;

import java.util.Random;

public class MyThread extends Thread {

    //共享数据
    static double money = 100;
    static int count = 3;
    static double min = 0.01;

    @Override
    public void run() {
        //这次每个人只能抢一个红包，所以不需要循环，抢完一个红包，该线程就死亡
        synchronized (MyThread.class) {
            //判断红包是否抢完
            if (count == 0) {
                //红包已抢完
                System.out.println(Thread.currentThread().getName() + "没抢到红包");
            }else {
                //红包没抢完
                //开始抢红包
                //判断是第几个红包
                double price =0;
                if (count == 1) {
                    //最后一个红包
                    //剩下的钱就是他的
                    price = money;
                }else {
                    //不是最后一个红包
                    //随机生成一个红包
                    Random r=new Random();
                    price = r.nextDouble(money - min * (count - 1));
                    //如果有人抢不到0.01元，就把0.01元给他
                    if (price < min) {
                        price = min;
                    }
                }
                //修改共享数据
                money -= price;
                count--;

                /*// 创建 DecimalFormat 对象，指定格式为保留两位小数
                DecimalFormat df = new DecimalFormat("#0.00");
                // 输出，使用 df.format(price) 格式化金额
                System.out.println(Thread.currentThread().getName() + "抢到了" + df.format(price) + "元");*/

                //输出
                System.out.println(Thread.currentThread().getName() + "抢到了" +  String.format("%.2f", price) + "元");
            }
        }
    }
}
